Lazy K
純粋な関数型プログラミングの言語
組み込み関数が3つしかない
SKIコンビネータ
遅延評価を行う
docs
日本語
install
https://blog.cormoran-web.com/blog/lazyk/
メタ言語→Lazy Kに変換するコンパイラも含む
以下のような3つの関数しかない
これを組み合わせてプログラムを書く
code:hs
I x = x
K x y = x
S x y z = (x z) (y z)
4つの表記法を組み合わせてプログラムを書くらしい
コンビネータ算法様式
通称「CC」
S,K,Iの3つのコンビネータ
Unlambda様式
\`,s,k,iの4つ
コンビネータ算法様式に加えて、二分適用オペレータ\`がある
Unlambdaには他にも関数が用意されているが、Lazy KのUnlambda記法では不要ということで4つしか無い
Iota様式
Jot様式
参考
Lazy K - Wikipedia
http://woodrush.hatenablog.com/entry/2016/03/12/171404
https://gist.github.com/fumieval/2585306
https://kimiyuki.net/blog/2014/04/17/quine-in-lazy-k/
https://www.slideshare.net/KMC_JP/output-29338451
http://blog.livedoor.jp/dankogai/archives/51524324.html
https://qiita.com/zk_phi/items/acb821d298151a7b96d2
#プログラミング言語